package com.jiangyao.service;

import com.github.pagehelper.PageInfo;
import com.jiangyao.model.dto.UserDto;
import com.jiangyao.model.dto.backend.JobUserDto;
import com.jiangyao.model.dto.backend.UserResumeDTO;
import com.jiangyao.model.dto.backend.UserSearchDTO;
import com.jiangyao.model.vo.UserDynamicVo;
import com.jiangyao.model.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jiangyao.model.vo.UserSessionVO;
import com.jiangyao.model.vo.backend.JobUserVO;
import com.jiangyao.model.vo.backend.UserBaseVO;
import com.jiangyao.model.vo.backend.UserResumeVO;

import java.util.List;

/**
 * <p>
 * 成员表 服务类
 * </p>
 *
 * @author xiangyan
 * @since 2020-08-11
 */
public interface UserService extends IService<User> {

    UserSessionVO login(UserDto userDto);

    UserSessionVO loginOpenId(UserDto userDto);

    UserSessionVO loginPhoneIdCard(UserDto userDto);

    UserSessionVO register(UserDto userDto);

    UserSessionVO registerIdCard(UserDto userDto);

    List<UserDynamicVo> getUserDynamic();

    PageInfo<JobUserVO> getJobUserList(JobUserDto jobUserDto);

    UserResumeVO getUserResume(UserResumeDTO userResumeDTO);

    /**
     * 根据姓名检索用户（最多返回50）,用于选择用户时
     *
     * @param searchDTO 检索账号DTO
     * @return 结果
     */
    List<UserBaseVO> searchForSelect(UserSearchDTO searchDTO);
}
